import 'dart:convert';

import '../generated/json/base/json_field.dart';
import '../generated/json/book_info_entity.g.dart';

@JsonSerializable()
class BookInfoEntity {

	List<BookInfoList>? list;
  
  BookInfoEntity();

  factory BookInfoEntity.fromJson(Map<String, dynamic> json) => $BookInfoEntityFromJson(json);

  Map<String, dynamic> toJson() => $BookInfoEntityToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class BookInfoList {

	String? isbn;
	@JSONField(name: "main_title")
	String? mainTitle;
	@JSONField(name: "main_title_py")
	String? mainTitlePy;
	@JSONField(name: "sub_title")
	String? subTitle;
	@JSONField(name: "sub_title_py")
	String? subTitlePy;
	@JSONField(name: "serial_title")
	String? serialTitle;
	String? author;
	@JSONField(name: "chi_classify")
	String? chiClassify;
	String? subject;
	String? publisher;
	@JSONField(name: "publish_addr")
	String? publishAddr;
	@JSONField(name: "publish_date")
	String? publishDate;
	String? price;
	String? language;
	String? pages;
	String? spec;
	String? version;
	String? volume;
	String? summary;
	String? attachment;
	String? notes;
	@JSONField(name: "cover_base64")
	String? coverBase64;
	@JSONField(name: "cover_file_ext")
	String? coverFileExt;
  
  BookInfoList();

  factory BookInfoList.fromJson(Map<String, dynamic> json) => $BookInfoListFromJson(json);

  Map<String, dynamic> toJson() => $BookInfoListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}